package com.lesson01_JavaBase.str;

import java.util.Arrays;

/**
 * 运算符： instanceof
 * System.out.println(name2 instanceof String);
 * 计算某个对事是否为某个对象的实例。
 * @author Administrator
 *
 */
public class StringDemo {
    public static void main(String[] args) {
        // 定义一个字符串（使用双引号引起来的字面量）
        String name = "张三A";
        String name1 = new String(); // 创建字符串对象
        String name2 = new String("张三A");
        // equals 比较2个对象值是否相同
        System.out.println(name.equals(name2));
        // == 比较2个对象的内存地址是相同
        System.out.println(name1 == name2);
        System.out.println(new Object() instanceof String);
        // 把所有字符串中字母转换为小写toLowerCase
        System.out.println("SKJDdkfkDJDKJ".toLowerCase());
        // 把所有字符串中字母转换为大写toUpperCase
        System.out.println("SKJDdkfkDJDKJ".toUpperCase());
        // equalsIgnoreCase 忽略字母大小写比较2个字符串的值是否相同
        System.out.println(name.equalsIgnoreCase(name2));
        // contentEuals (比较少)
        System.out.println(name.contentEquals(name2));
        // 获取字符串长度
        System.out.println(name.length());

        // chatAt 根据下标获取某个字符
        String str = "abc好124你好";
        System.out.println(str.charAt(3));
        // 让其str倒序输出
        for (int i = str.length()-1; i >= 0 ; i--) {
            System.out.print(str.charAt(i));
        }

        System.out.println("===============");
        // subString(startIndex, endIndex)截取一个范围内字符串 从0开始[startIndex,endIndex)
        String url = "http://192.34.23.1/index.html";
        String url1 = "ftp://192.34.23.1/ff/ff/f/index.html";
        String ip = url1.substring(7, 18);
        System.out.println(ip);
        //indexOf，lastIndexOf 查找某个字符串位置
        // 如果找到返回对应索引，如果为找到返回-1
        int startIndex = url1.indexOf("//") + 2;
        // 从startIndex开始查找"/"首次出现的位置
        int endIndex = url1.indexOf("/", startIndex);
        System.out.println(url1.substring(startIndex, endIndex)); // 正则表达式(验证);

        // replace方法替换方法
        System.out.println("fuck fuck fuck".replace("f", "l")); // 不能使用正则表达式
        System.out.println("fuck fuck fuck".replaceAll("f", "l")); // 可以使用正则表达式

        // split把一个特殊字符串切割为一个数组
        String personString = "张三_10_男";
        String[] person = personString.split("_");
        // 使用对象循环
        for (String info  :  person) {
            System.out.println(info);
        }
        System.out.println(Arrays.toString(person));

        String str1 = "张三_10_男,李四_20_女";
        String[] strings = str1.split("[_,]");
        System.out.println(Arrays.toString(strings));

        //concat 连接字符串
        String concat = name.concat("ASDDKDKF");
        System.out.println(concat);





    }
}
